Oracle教程之管理UNDO(五) |
您所在的位置:网站首页 › oracle undo表空间满了 › Oracle教程之管理UNDO(五) |
Oracle教程之管理UNDO(五)--UNDO表空间满了的处理方法
精选
转载
Oracle小混子 2013-04-01 10:32:42 文章标签 UNDO 表空间满 UNDO表空间满怎么办 管理UNDO Oracle教程 文章分类 Oracle 数据库 1、先模拟UNDO 表空间满的情况SQL> alter system set undo_retention=10800; -- 3个小时系统已更改。SQL> create undo tablespace undo datafile 'F:\backup\undo.dbf' size 1m ;表空间已创建。SQL> alter tablespace undo retention guarantee;表空间已更改。SQL> alter system set undo_tablespace=undo;系统已更改。SQL> create table DBA(id number);表已创建。SQL> begin2 for i in 1 .. 100000 loop3 insert into dba values(i);4 commit;5 end loop;6 end;7 /begin*第 1 行出现错误:ORA-30036: 无法按 8 扩展段 (在还原表空间 'UNDO' 中)ORA-06512: 在 line 32、处理方法处理方法有两种,一是添加undo 表空间的数据文件,二是切换UNDO tablespace. 这种情况下多用在undo 表空间已经非常大的情况。(1)增加数据文件SQL> ALTER TABLESPACE undo ADD DATAFILE 'F:\backup\undo02.dbf' size 100M reuse;表空间已更改。SQL> begin2 for i in 1..100000 loop3 insert into dba values(1);4 commit;5 end loop;6 end;7 /PL/SQL 过程已成功完成。(2)切换UNDO 表空间1、建立新的表空间UNDOTBS2SQL> CREATE UNDO TABLESPACE UNDOTBS2 DATAFILE 'F:\backup\undo03.dbf' size 100M reuse;表空间已创建。2、切换到新建的UNOD表空间上来,操作如下SQL> alter system set undo_tablespace=UNDOTBS2 scope=both;系统已更改。3、将原来的UNDO表空间,置为脱机:SQL> alter tablespace UNDO offline;表空间已更改。4、删除原来的UNDO表空间:SQL> drop tablespace UNDO including contents AND DATAFILES CASCADE CONSTRAINTS ;表空间已删除。如果只是drop tablespace UNDO ,则只会在删除控制文件里的记录,并不会物理删除文件。Drop undo表空间的时候必须是在未使用的情况下才能进行。如果undo表空间正在使用(例如事务失败,但是还没有恢复成功),那么drop表空间命令将失败。在drop表空间的时候可以使用including contents。CUUG更多oracle视频教程请点击:http://crm2.qq.com/page/portalpage/wpa.php?uin=800060152&f=1&ty=1&aty=0&a=&from=6 赞 收藏 评论 分享 举报上一篇:Oracle教程之管理UNDO(六)--UNDO 表空间损坏的恢复方法 下一篇:Oracle教程之管理UNDO(四)--前滚和回滚 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |